/*
 * This software code is (c) 2010 T-Mobile USA, Inc. All Rights Reserved.
 *
 * Unauthorized redistribution or further use of this material is
 * prohibited without the express permission of T-Mobile USA, Inc. and
 * will be prosecuted to the fullest extent of the law.
 *
 * Removal or modification of these Terms and Conditions from the source
 * or binary code of this software is prohibited.  In the event that
 * redistribution of the source or binary code for this software is
 * approved by T-Mobile USA, Inc., these Terms and Conditions and the
 * above copyright notice must be reproduced in their entirety and in all
 * circumstances.
 *
 * No name or trademarks of T-Mobile USA, Inc., or of its parent company,
 * Deutsche Telekom AG or any Deutsche Telekom or T-Mobile entity, may be
 * used to endorse or promote products derived from this software without
 * specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" AND "WITH ALL FAULTS" BASIS
 * AND WITHOUT WARRANTIES OF ANY KIND.  ALL EXPRESS OR IMPLIED
 * CONDITIONS, REPRESENTATIONS OR WARRANTIES, INCLUDING ANY IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT CONCERNING THIS SOFTWARE, ITS SOURCE OR BINARY CODE
 * OR ANY DERIVATIVES THEREOF ARE HEREBY EXCLUDED.  T-MOBILE USA, INC.
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
 * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE
 * OR ITS DERIVATIVES.  IN NO EVENT WILL T-MOBILE USA, INC. OR ITS
 * LICENSORS BE LIABLE FOR LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
 * HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
 * OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF T-MOBILE USA,
 * INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *
 * THESE TERMS AND CONDITIONS APPLY SOLELY AND EXCLUSIVELY TO THE USE,
 * MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE, ITS SOURCE OR BINARY
 * CODE OR ANY DERIVATIVES THEREOF, AND ARE SEPARATE FROM ANY WRITTEN
 * WARRANTY THAT MAY BE PROVIDED WITH A DEVICE YOU PURCHASE FROM T-MOBILE
 * USA, INC., AND TO THE EXTENT PERMITTED BY LAW.
 */

package javax.microedition.ims.android;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * Parcelable object for gms location info
 *
 * @author Anton Chirko
 */
public class IGsmLocationInfo implements Parcelable {

    private final int cid;
    private final int lac;
    private final int mcc;
    private final int mnc;
    private final int networkType; 

    public static final Parcelable.Creator<IGsmLocationInfo> CREATOR = new Parcelable.Creator<IGsmLocationInfo>() {
        public IGsmLocationInfo createFromParcel(Parcel in) {
            return IGsmLocationInfo.createFromParcel(in);
        }

        public IGsmLocationInfo[] newArray(int size) {
            return new IGsmLocationInfo[size];
        }
    };

    public IGsmLocationInfo(int cid, int lac, int mcc, 
            int mnc, int networkType) {
        this.cid = cid;
        this.lac = lac;
        this.mcc = mcc;
        this.mnc = mnc;
        this.networkType = networkType;
    }

    public int getCid() {
        return cid;
    }

    public int getLac() {
        return lac;
    }
    
    public int getMcc() {
        return mcc;
    }
    
    public int getMnc() {
        return mnc;
    }
    
    public int getNetworkType() {
        return networkType;
    }
    
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(cid);
        dest.writeInt(lac);
        dest.writeInt(mcc);
        dest.writeInt(mnc);
        dest.writeInt(networkType);
    }

    private static IGsmLocationInfo createFromParcel(Parcel in) {
        int cid = in.readInt();
        int lac = in.readInt();
        int mcc = in.readInt();
        int mnc = in.readInt();
        int networkType = in.readInt();
        return new IGsmLocationInfo(cid, lac, mcc, mnc, networkType);
    }

    public int describeContents() {
        return 0;
    }

    @Override
    public String toString() {
        return "IGsmLocationInfo [cid=" + cid + ", lac=" + lac + ", mcc=" + mcc + ", mnc=" + mnc
                + ", networkType=" + networkType + "]";
    }
}
